After completing this lesson, you’ll be able to:
Learning content in the FME Academy presents a user story that addresses their data integration challenges with FME. You should follow along with their actions using your FME installation (2026.1 or later) or request an on-demand virtual machine. Some lessons will require you to follow their steps or take additional steps to answer a quiz question.
The Resources section will provide links to interactive tutorials and starting workspaces when necessary.
In this lesson, you will:
Note the above videos show a slightly outdated version of this exercise. The step of adding a Creator transformer is no longer required.
Terminology
A schema is a formal definition of a dataset’s structure, including table names, attribute names, and attribute data types (e.g., text, integer, float). With spatial data, the geometry type (point, line, polygon, etc.) is also considered part of the schema. You might also hear this referred to as a data model.

Jennifer is a GIS Specialist working for a local government. She needs to read business license data from an API and write it to an Esri geodatabase, a widely used spatial database. The API is used internally, while the geodatabase is used in public-facing applications. Therefore, she wants to edit the attribute names and filter out features with revoked business licenses from the final geodatabase to ensure the data is appropriate for public display.
Jennifer is working with the same BusinessOwners dataset as Sven in the previous course, but she’s reading it from an API rather than an Excel spreadsheet.
So far, we've been using readers to read data. However, in some cases, you will read data using transformers. Transformers are primarily used to transform data, changing its content or structure. However, some transformers can also read data.
In this exercise, we'll learn how to read web data and use transformers to transform its content and structure.

The standard way to make an API call using FME is with the HTTPCaller transformer.


https://fme.ly/businessowners for the Request URL and choose GET for the HTTP Method.
It is vital to test transformers after configuring them. Normally, you can just run the transformer you just configured and then inspect the output in Data Preview to ensure it is correct. However, the HTTPCaller includes a special Send Test Request button we can use to test our query without running the workspace.

The HTTP Test Request Preview dialog opens. At this point, if the request required test values, we could enter them.

Looks good! We get back JSON with the business owner information.



Now, we can examine the response to understand its structure. You can see that it consists of an array of JSON objects, indicated by the opening and closing square braces []. Each object has attribute-value pairs with a predictable schema. It also contains some geometry information.
{ "json_featuretype": "BusinessOwners", "First": "Garth", "Last Name": "Garrett", "Company": "Hendrerit Consectetuer Cursus Industries", "License Number": "8BCB7F", "Longitude": -123.1006079306, "Latitude": 49.24906160267, "json_ogc_wkt_crs": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]", "json_geometry": { "type": "Point", "coordinates": [ -123.1006079306, 49.2490616027 ] }}
This response matches her expectations. Our goal is to convert these JSON attribute-value pairs into FME features.